package com.martys.singleton05;


/**
 *  懒汉式单例模式 --同步代码块
 */
//"优点： 懒加载避免了资源可能浪费"
//"缺点： 本意是想要改善效率，但是实际上并不能解决线程安全问题，因为多线程进入到if中后仍然会创建多个实例，这种方法不能用
public class Singleton05 {
    //1 将构造方法设置为私有的
    private Singleton05() {}

    //2 创建静态类对象实例
    private  static Singleton05 instance ;

    //3 开放一个返回的方法，在返回方法里做判断，使用同步代码块，如果实例为空则创建出实例并返回，否则返回实例
    public static  Singleton05 getInstance() {
       if(instance == null){
           synchronized (Singleton05.class) {
               instance = new Singleton05()
               ;
           }
       }
        return instance;
    }

}
